package com.example.blog.utils;

import org.springframework.util.DigestUtils;
import org.springframework.util.StringUtils;

import java.util.UUID;

public class SecurityUtils {
//   加密
//    inputPassword用户登陆时输入的密码
//    return返回数据库中的密文：盐值+md5（盐值+明文)
    public static String encrypt(String password){
//随机盐值
        String salt = UUID.randomUUID().toString().replace("-","");
// MD5加密
        String  finalPassword = DigestUtils.md5DigestAsHex((password + salt).getBytes());

        return salt+finalPassword;
    }

//    检验
    public  static boolean verify(String inputPassword,String sqlPassword){

        if(!StringUtils.hasLength(inputPassword)){

            return false;
        }
         if(sqlPassword==null&&sqlPassword.length()!=64){
             return false;
         }
         String salt = sqlPassword.substring(0,32);
         String finalPassword =DigestUtils.md5DigestAsHex((inputPassword+salt).getBytes());


        return (salt+finalPassword).equals(sqlPassword);

    }

}
